<?php
//Exemplo de extração de dados de um arquivo texto com colunas de largura fixa


function formatCEP($str)//Função para formatar o CEP
{
	return XtUtils::inputMask($str, '##.###-###');
}

function filtro($row)//Função de filtragem de linha
{
	$doc = substr($row, 70, 14);
	if($doc == '02641889000111')
	{
		return false;
	}else{
		return true;
	}
}

//O layout de colunas
$cm = array(
	array(
		'title' => 'codigo'
		,'start' =>0
		,'size' =>10
	)
	,array(
		'title' => 'nome'
		,'start' =>10
		,'size' =>60
		,'fn' => 'strtolower'
	)
	,array(
		'title' => 'doc'
		,'start' =>70
		,'size' =>14
	)
	,array(
		'title' => 'endereco'
		,'start' =>114
		,'size' =>50
	)
	,array(
		'title' => 'cidade'
		,'start' =>164
		,'size' =>30
	)
	,array(
		'title' => 'uf'
		,'start' =>194
		,'size' =>2
	)
	,array(
		'title' => 'cep'
		,'start' =>196
		,'size' =>8
		,'fn' => 'formatCEP'
	)
	,array(
		'title' => 'telef'
		,'start' =>204
		,'size' =>15
	)
	,array(
		'title' => 'fax'
		,'start' =>219
		,'size' =>15
	)
);

$store = XtStore::fromFixed('CREDOR.TXT', $cm, 0, 1);//Extrai dados sem filtrar linhas
$store = XtStore::fromFixed('CREDOR.TXT', $cm, 236, 1);//Extrai dados filtrando as linhas pelo tamanho
$store = XtStore::fromFixed('CREDOR.TXT', $cm, 'filtro', 1);//Extrai dados filtrando as linhas pela função personalizada

XtUtils::printr($store);

?>
